<?php
class SignupCompanyForm extends CFormModel{
	// var member
	public $email = "";
	public $password = "";
	public $re_password = "";
	public $verifyCode = "";

	//var company
	public $store_name = "";
	public $company_name = "";
	public $website = "";
	public $email_company = "";
	public $mobile = "";
	public $landline = "";
	public $address = "";
	public $location_id = "";
	public $image = ""; // có thể là hình đại diện, or logo

	public $acceptRule = "";	
	public static function model($className=__CLASS__){
		return parent::model($className);
	}

	public function rules(){
		$rules = array();
		//validate member
		$rules[] = array("email", "required","message" => "vui lòng nhập email");
		$rules[] = array("email", "email","message" => "email không hợp lệ");
		$rules[] = array("email", "checkEmailExists","message" => "email đã được sử dụng");
		$rules[] = array("password", "required","message" => "vui lòng nhập mật khẩu");
		$rules[] = array("password", "length","min" => 6,"tooShort" => "mật khẩu phải lớn hơn 6 ký tự");
		$rules[] = array("re_password", "required","message" => "nhập lại mật khẩu");
		$rules[] = array("re_password", "compare","compareAttribute" => "password","message" => "Mật khẩu không trùng khớp");
		//validate company
		$rules[] = array("store_name","required","message" => "Vui lòng nhập tên estore");
		$rules[] = array("company_name","required","message" => "Vui lòng nhập tên công ty");
		$rules[] = array("website","url","message" => "Địa chỉ website không hợp lệ");
		$rules[] = array("address","required","message" => "Vui lòng nhập địa chỉ của bạn");
		$rules[] = array("mobile","required","message" => "Vui lòng nhập số di động của bạn");
		$rules[] = array("mobile,landline","numerical","message" => "Số không hợp lệ");
		
		$rules[] = array('verifyCode', 'captcha',"message" => "mã bảo mật không đúng");
		$rules[] = array('acceptRule', 'in','range' => array(true),'allowEmpty' => false,"message" => "Vui lòng chọn đồng ý với các quy định giao dịch trước khi đăng ký");
		return $rules;
	}

	public function checkEmailExists($attribute,$param){
		if(!empty($this->$attribute)){
			$check = Member::model()->findByAttributes(array($attribute => $this->$attribute));
			if(is_object($check)){
				$this->addError($attribute,$attribute." đã tồn tại");
				return false;
			}
			return true;
		}
	}

	public function attributeLabels(){
		return array(
			'email' => 'Email',
			'password' => 'Mật khẩu',
			're_password' => 'Nhập lại MK',
			'verifyCode' => 'Mã bảo mật',
			'store_name' => 'Tên gian hàng',
			'company_name' => 'Tên công ty',
			'website' => 'Địa chỉ website',
			'address' => 'Địa chỉ',
			'location_id' => 'Tỉnh/thành',
			'mobile' => 'Di dộng',
			'landline' => 'Điện thoại bàn',
		);
	}

	public function signup(){
		$member = new Member;
		$member->setAttributes($this->attributes,false);
		$member->type_member = "store";
		$insertMember = $member->updateMember(false);
		if($insertMember === true){
			$store = new Store;
			$store->setAttributes($this->attributes,false);
			$store->updateStore();
		}
	}
}
?>